package com.gem.day14;

import java.io.BufferedReader;
import java.io.InputStreamReader;

/**
 * 本类用来演示Java IO流桥接器
 * 把字节流转换成字符流
 * 
 * @author easonsy
 * 2020年8月6日 下午2:34:53
 */
public class InputStreamReaderDemo {
	public static void main(String[] args) {
		/*
		 * 注意:
		 * InputStreamReader桥接转换时,如果不传入字符集,则会自动使用系统默认字符集,
		 * 如果传入字符集,则会检测该字符集是否合法,如果不和法,则抛出字符集不支持异常:java.io.UnsupportedEncodingException
		 * 如果合法,则按照指定字符集转换
		 */
		/*try (InputStreamReader isr = new InputStreamReader(new FileInputStream("D:\\day12笔记.txt"), "UTF-8")) {
			int len = -1;
			while ((len = isr.read()) != -1) {
				System.out.print((char) len);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}*/

		System.out.println("---------------------------------------");

		/*
		 * 面试题:
		 * 请您实现如下程序:
		 * 请您输入任何内容: xxx
		 * 您刚才输入的内容是: xxx
		 * 注意: 不允许使用Scanner
		 */
		//本质:把系统标准输入流转换成带缓存的字符流
		try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
			System.out.println("请您输入内容: ");
			String input = br.readLine();//阻塞方法
			System.out.println("您刚才输入的内容为: " + input);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
